package cn.jhz.learn.blog.service.security.resource.article.impl;

import cn.jhz.learn.blog.service.security.resource.article.ArticlePointCut;
import cn.jhz.learn.blog.vo.article.query.page.ArticlePageView;
import cn.jhz.learn.blog.vo.article.submit.ArticleParam;
import cn.jhz.learn.blog.vo.article.query.page.ConsolePageView;

import org.aspectj.lang.annotation.Pointcut;

public abstract class ArticlePointCutImpl implements ArticlePointCut {
    protected ArticlePointCutImpl() {}

    @Pointcut(value = "execution(* cn.jhz.learn.blog.service.core.auth.article.ConsoleArticleService.create(Integer,cn.jhz.learn.blog.vo.article.submit.ArticleParam)) && args(uid,param)", argNames = "uid,param")
    @Override
    public void create(Integer uid, ArticleParam param) {}

    @Pointcut(value = "execution(* cn.jhz.learn.blog.service.core.auth.article.ConsoleArticleService.delete(Integer,Integer, Boolean)) && args(uid, id, deep)", argNames = "uid,id,deep")
    @Override
    public void delete(Integer uid, Integer id, Boolean deep) {}

    @Pointcut(value = "execution(* cn.jhz.learn.blog.service.core.auth.article.ConsoleArticleService.update(Integer,cn.jhz.learn.blog.vo.article.submit.ArticleParam)) && args(uid,param)", argNames = "uid,param")
    @Override
    public void update(Integer uid, ArticleParam param) {}

    @Pointcut(value = "execution(* cn.jhz.learn.blog.service.core.auth.article.ConsoleArticleService.recycle(Integer,Integer)) && args(uid,id)", argNames = "uid,id")
    @Override
    public void recycle(Integer uid, Integer id) {}

    @Pointcut(value = "execution(* cn.jhz.learn.blog.service.core.auth.article.ConsoleArticleService.stick(Integer, Integer, Boolean)) && args(uid, id, sticky)", argNames = "uid,id,sticky")
    @Override
    public void stick(Integer uid, Integer id, Boolean sticky) {}

    @Pointcut(value = "execution(* cn.jhz.learn.blog.service.core.open.article.ArticleService.getPage(cn.jhz.learn.blog.vo.article.query.page.ArticlePageView)) && args(pageView)", argNames = "pageView")
    @Override
    public void getPage(ArticlePageView pageView){}

    @Pointcut(value = "execution(* cn.jhz.learn.blog.service.core.open.article.ArticleService.getPage(Integer, cn.jhz.learn.blog.vo.article.query.page.ArticlePageView)) && args(uid, pageView)", argNames = "uid,pageView")
    @Override
    public void getPageUid(Integer uid, ArticlePageView pageView){}

    @Pointcut(value = "execution(* cn.jhz.learn.blog.service.core.open.article.ArticleService.getDetail(Integer)) && args(id)", argNames = "id")
    @Override
    public void getDetail(Integer id){}

    @Pointcut(value = "execution(* cn.jhz.learn.blog.service.core.open.article.ArticleService.getDetail(Integer, Integer)) && args(uid, id)", argNames = "uid,id")
    @Override
    public void getDetailUid(Integer uid, Integer id){}

    @Pointcut(value = "execution(* cn.jhz.learn.blog.service.core.auth.article.ConsoleArticleService.getDetail(Integer,Integer))&& args(uid, id)", argNames = "uid,id")
    @Override
    public void getDetailConsole(Integer uid, Integer id) {}

    @Pointcut(value = "execution(* cn.jhz.learn.blog.service.core.auth.article.ConsoleArticleService.getCountAndList(Integer, cn.jhz.learn.blog.vo.article.query.page.ConsolePageView)) && args(uid, pageView)", argNames = "uid,pageView")
    @Override
    public void getCountAndList(Integer uid, ConsolePageView pageView) {}
}
